package com.writing.service;

import com.writing.dto.AIGenerateRequest;

/**
 * AI服务接口
 */
public interface AIService {

    /**
     * 生成文本（非流式）
     *
     * @param request 生成请求
     * @return 生成的文本内容
     */
    String generateText(AIGenerateRequest request) throws Exception;

    /**
     * 生成文本（流式）
     *
     * @param request 生成请求
     * @param callback 流式回调
     */
    void generateTextStream(AIGenerateRequest request, StreamCallback callback) throws Exception;

    /**
     * 验证API配置
     *
     * @param baseUrl API基础地址
     * @param apiKey API密钥
     * @return 验证结果
     */
    boolean validateApiConfig(String baseUrl, String apiKey) throws Exception;

    /**
     * 流式回调接口
     */
    interface StreamCallback {
        void onChunk(String chunk);
        void onError(Exception error);
        void onComplete();
    }
}

